package com.weiquan.service;

import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 文件上传服务接口
 */
public interface FileUploadService {

    /**
     * 上传单个文件
     */
    String uploadFile(MultipartFile file, String category);

    /**
     * 上传多个文件
     */
    List<String> uploadFiles(List<MultipartFile> files, String category);

    /**
     * 删除文件
     */
    boolean deleteFile(String fileUrl);

    /**
     * 获取文件访问URL
     */
    String getFileUrl(String fileName);

    /**
     * 验证文件类型
     */
    boolean validateFileType(MultipartFile file, String[] allowedTypes);

    /**
     * 验证文件大小
     */
    boolean validateFileSize(MultipartFile file, long maxSize);

    /**
     * 生成唯一文件名
     */
    String generateUniqueFileName(String originalFileName);
}